home *** CD-ROM | disk | FTP | other *** search
/ Champak 106 / Vol 106.iso / games / hulk.swf / scripts / com / markdavies / control / ButtonSet.as
Encoding:
Text File  |  2010-04-12  |  2.6 KB  |  89 lines

  1. package com.markdavies.control
  2. {
  3.    import flash.display.MovieClip;
  4.    import flash.events.EventDispatcher;
  5.    import flash.events.MouseEvent;
  6.    import flash.utils.Dictionary;
  7.    
  8.    public class ButtonSet extends EventDispatcher
  9.    {
  10.        
  11.       
  12.       private var _buttonSet:Dictionary;
  13.       
  14.       public function ButtonSet()
  15.       {
  16.          super();
  17.          _buttonSet = new Dictionary();
  18.       }
  19.       
  20.       private function mouseDownHandler(param1:MouseEvent) : void
  21.       {
  22.          var _loc2_:* = undefined;
  23.          if(!_buttonSet[param1.target])
  24.          {
  25.             return;
  26.          }
  27.          _loc2_ = _buttonSet[param1.target];
  28.          if(_loc2_.downHandler != null)
  29.          {
  30.             _loc2_.downHandler(_loc2_.event);
  31.          }
  32.       }
  33.       
  34.       private function mouseOutHandler(param1:MouseEvent) : void
  35.       {
  36.          var _loc2_:* = undefined;
  37.          if(!_buttonSet[param1.target])
  38.          {
  39.             return;
  40.          }
  41.          _loc2_ = _buttonSet[param1.target];
  42.          if(_loc2_.outHandler != null)
  43.          {
  44.             _loc2_.outHandler(_loc2_.event);
  45.          }
  46.       }
  47.       
  48.       public function removeButton(param1:MovieClip) : void
  49.       {
  50.          param1.removeEventListener(MouseEvent.MOUSE_OVER,mouseOverHandler);
  51.          param1.removeEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler);
  52.          param1.removeEventListener(MouseEvent.MOUSE_OUT,mouseOutHandler);
  53.          param1.mouseEnabled = false;
  54.          param1.buttonMode = false;
  55.          delete _buttonSet[param1];
  56.       }
  57.       
  58.       public function addButton(param1:MovieClip, param2:Function, param3:Function, param4:Function, param5:*) : void
  59.       {
  60.          _buttonSet[param1] = {
  61.             "overHandler":param2,
  62.             "downHandler":param3,
  63.             "outHandler":param4,
  64.             "event":param5
  65.          };
  66.          param1.addEventListener(MouseEvent.MOUSE_OVER,mouseOverHandler);
  67.          param1.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler);
  68.          param1.addEventListener(MouseEvent.MOUSE_OUT,mouseOutHandler);
  69.          param1.mouseEnabled = true;
  70.          param1.buttonMode = true;
  71.          param1.mouseChildren = false;
  72.       }
  73.       
  74.       private function mouseOverHandler(param1:MouseEvent) : void
  75.       {
  76.          var _loc2_:* = undefined;
  77.          if(!_buttonSet[param1.target])
  78.          {
  79.             return;
  80.          }
  81.          _loc2_ = _buttonSet[param1.target];
  82.          if(_loc2_.overHandler != null)
  83.          {
  84.             _loc2_.overHandler(_loc2_.event);
  85.          }
  86.       }
  87.    }
  88. }
  89.